import json


def key_check(self,check_data):
    """
    检查json类型的行啊应body重是都包含一个或者多个key
    :param check_data: 检查数据字符串
    :return:都包含泽返回True;有一个不包含就返回False
    """
    key_list = check_data.split(',')
    tmp_result = []
    for check_key in key_list:
        if check_key in self.response_data.json().key():
            tmp_result.append(True)
        else:
            tmp_result.append(False)
    if False in tmp_result:
        error_msg = '断言类型[json_key]-->实际结果: %s;期望结果 :%s 不相符,断言失败'%(self.response_data.text,check_data)
        logger.error(error_msg)
        self.fail_result['msg']=error_msg
        return self.fail_result
    else:
        pass_msg = '断言类型[json_key]-->实际结果: %s;期望结果: %s相符,断言通过'%(self.response_data.text,check_data)
        logger.info(pass_msg)
        self.pass_result['msg']=pass_msg
        return self.pass_result


def key_value_check(self,check_data):
    """
    检查json类型的相应body重是都包含一个火多隔 键值对
    :param check_data:检查数据字符串
    :return:都包含则返回True;有一个不包含就返回False
    """
    key_value_dict = json.loads(check_data)
    tmp_result =[]
    for key_value in key_value_dict.items():
        if key_value in self.response_data.json.items():
            tmp_result.append(True)
        else:
            tmp_result.append(False)
    if False in tmp_result:
        error_msg = '断言类型[json_key]-->实际结果: %s;期望结果 :%s 不相符,断言失败'%(self.response_data.text,check_data)
        logger.error(error_msg)
        self.fail_result['msg']=error_msg
        return self.fail_result
    else:
        pass_msg = '断言类型[json_key]-->实际结果: %s;期望结果: %s相符,断言通过'%(self.response_data.text,check_data)
        logger.info(pass_msg)
        self.pass_result['msg']=pass_msg
        return self.pass_result